Transmission of data over a radio frequency channel

ABSTRACT

An improved system for the transmission of data over a cellular telephone channel is provided. The system is especially adapted to reduce the cost associated with cellular telephone calls by allowing data transmission only when the channel signal level is greater than a pre-defined value, so as maximize the probability that a transmission will be successful. In addition, the system provides for user transparent reconnection and reestablishment of a dropped link, allowing transmission to continue where dropped without the need to retransmit data already successfully received. As an additional benefit, the system provides a mechanism for call timing and billing so that an estimated bill may be generated based on connection time.

RELATED APPLICATIONS

[0001] This application is a continuing application of copendingapplication Ser. No. 08/086,766 filed on Jul. 2, 1993 which is acontinuing application of application Ser. No. 07/819,287 filed on Jan.13, 1992, now abandoned.

FIELD OF THE INVENTION

[0002] This invention relates, generally, to the field of electronicdata transmission, and more particularly to the transmission of dataover a radio frequency channel such as that utilized by a cellulartelephone link.

BACKGROUND OF THE INVENTION

[0003] Recently, the availability of cellular telephone communicationservice has increased dramatically. All major metropolitan areas, andmany less populated areas, are served by at least one cellular telephonecompany. The development of this cellular network has resulted inproviding a widespread capability to communicate with a mobile telephonesubscriber by the use of an RF cellular telephone channel and theexisting public switched telephone network, almost anywhere in thecountry. As cellular telephone systems and equipment have proliferated,there has developed an increased demand for the transmission of not onlyvoice information, but also data. Unfortunately, the transmission ofdata over a cellular telephone link presents additional problems notencountered with the transmission of simple analog voice information.

[0004] In particular, while the introduction of noise into voicecommunication may create some problems of intelligibility, in general,unless there is a complete loss of signal, the voice message will stillbe transmitted and recognized. On the other hand, when transmitting datain a digital form, any noise encountered on the communications channelwill most likely corrupt the data being transmitted, thereby requiringthe same data to be retransmitted. Similarly, a break in transmissionwhile transmitting data, as is often the case in cellular transmissions,requires retransmission of all of the data. Retransmission of dataresults in a lower throughput bandwidth due to the extended timenecessary to transmit data. In addition, since the cellular network ismore expensive to use due to its associated higher tariffs (compared tocomparable land lines), such retransmission can increase operating costssubstantially.

[0005] While it has been known to interface common data terminalequipment and modems to a cellular telephone transceiver, such attemptshave not been optimized for use in a cellular RF environment, and thusare large, expensive and inefficient.

[0006] Accordingly, it has been determined that the need exists for animproved apparatus for the transmission of data over an RF channel whichwill provide increased reliability of data transmission as well as areduction of operating costs, thereby improving upon the above-notedlimitations of the prior art.

OBJECTS OF THE PRESENT INVENTION

[0007] Accordingly, it is an object of the invention to provide animproved apparatus for the transmission of data over an RF channel.

[0008] It is another object of the invention to provide an improvedapparatus for the transmission of data over an RF channel where thechannel is a cellular telephone link.

[0009] It is a further object of the invention to provide an improvedapparatus for the transmission of data over an RF channel whereby aconnection will not be attempted until the signal level of the datachannel is above a predefined threshold.

[0010] It is still a further object of the invention to provide animproved apparatus for the transmission of data over an RF channelwherein the communication link will be automatically disconnected whenit has been determined that the signal level has fallen below apredetermined level.

[0011] It is yet another object of the invention to provide an improvedapparatus for the transmission of data over an RF channel wherein thestandard Microcom® network protocol (MNP®) (defined hereinafter) ismodified so that all transmitted packets are continually repeated untilthe remote modem acknowledges receipt or is disconnected by an autodisconnect mechanism.

[0012] It is still another object of the invention to provide animproved apparatus for the transmission of data over an RF channelwhereby, when a communications link is dropped due to poor signalquality, the connection will be transparently re-established and thesession will be continued from the point where the disconnectinterrupted the transmission.

[0013] It is yet a further object of the invention to provide animproved apparatus for the transmission of data over an RF channel whichtracks the costs associated with the use of a cellular telephonechannel.

[0014] It is even another object of the invention to provide an improvedapparatus for the transmission of data over an RF channel which isoptimized to reduce the costs associated with the transmission of dataover a cellular telephone channel.

[0015] It is yet an additional object of the invention to provide animproved apparatus for the transmission of data over an RF channel whichmay be integrated to an existing cellular telephone transceiver.

[0016] It is even another object of the invention to provide an improvedapparatus for the transmission of data over an RF channel to improveupon the limitations noted in the prior art.

[0017] Still other objects and advantages of the invention will, inpart, be obvious and, will, in part, be apparent from the specification.

SUMMARY OF THE INVENTION

[0018] Generally speaking, in accordance with the invention, anapparatus for the improved transmission of data over an RF channel isprovided. The invention, which optimizes the transmission of datathrough a cellular network, provides an effective mobile data solutionwhich increases data throughput while also lowering user costs.

[0019] In a preferred configuration, the invention is designed tomonitor a cellular channel's signal strength and only permitcommunications when the signal level is above a predefined threshold,from which it may then be determined that a call reliably can be made.

[0020] In addition, the invention embodies an automatic disconnect onlow signal strength so that should a call be initiated in an area wherethe signal strength is sufficient to permit reliable datacommunications, but the data channel quality then becomes degradedduring transmission, communications will automatically be halted inorder to reduce the number of unsuccessful retransmission attempts, andthereby reduce unnecessary associated telephone costs.

[0021] The invention further incorporates a modification to the MicrocomNetwork Protocol (MNP), a protocol designed and developed by Microcom,Inc. of Norwood, Mass., and described at length in Microcom NetworkProtocol Specification Link Services Class 1-4, October, 1987 andMicrocom Network Protocol Specification Class 10, Version 1.0, October,1991, whereby transmitted packets of data are continually repeated untilthe remote modem acknowledges receipt of the packet or is disconnectedby the above-described auto disconnect feature.

[0022] Further to the development of the invention is an automatic dialconnection restoration mechanism whereby, when a communications link isdropped due to noisy or poor quality transmission conditions, theconnection between the transmitting and receiving stations will betransparently re-established and the transmission of data will resumefrom the point of the last known good packet transmission, therebyreducing the costs associated with the retransmission of the entirefile.

[0023] Finally, the invention also incorporates billing timers which maybe used to supplant the normal billing information which is availableover a standard wired telephone system, but which is not provided with acellular telephone system.

[0024] Other objects of the invention will in part be obvious and willin part appear hereinafter. The invention accordingly comprises theapparatus possessing the construction, combination of elements andarrangements of parts which are exemplified in the following detaileddisclosure, and the scope of the application of which will be indicatedin the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0025] For a fuller understanding of the invention, reference is had tothe following descriptions taken in connection with the accompanyingdrawings, in which:

[0026]FIG. 1 is a block diagram of a cellular data transceiverconstructed in accordance with a preferred embodiment of the presentinvention;

[0027]FIG. 2 is a flow chart of the process as performed by the softwareunder control of the cellular data transceiver of FIG. 1, whereintransceiver operations are controlled based upon cellular signalstrength;

[0028]FIG. 3 is a flow chart of the process as performed by the softwareunder control of the cellular data transceiver of FIG. 1, wherein anestablished connection will be automatically disconnected during periodsof low cellular signal strength;

[0029]FIG. 4 is a flow chart of the process as performed by the softwareunder control of the cellular data transceiver of FIG. 1, wherein theMNP protocol is modified to repeat the transmission of all packets untilan acknowledgement is received from the receiving station;

[0030]FIG. 5 is a state diagram illustrating the call back state machinefor the originating station to automatically and transparentlyre-establish communications after a disconnect;

[0031]FIG. 6 is a state diagram illustrating the call back state machinefor the answering station in communication with the originating stationof FIG. 5, to transparently re-establish communications after adisconnect;

[0032]FIG. 7 is a chart illustrating sample billing informationcollected and transmitted in accordance with a preferred embodiment ofthe invention;

[0033]FIG. 8A is a flow chart showing a dial sequence for entering adata state; and

[0034]FIG. 8B is a flow chart showing an event sequence, conditionalupon connection, for entering an idle data state.

DETAILED DESCRIPTION OF THE DRAWINGS

[0035] Referring first to FIG. 1, a block diagram of an apparatus forthe improved transmission of data over an RF channel, constructed inaccordance with a preferred embodiment of the present invention, isshown. An improved cellular data transceiver, generally 10, includes ahandset assembly 20, a modem assembly 30, and an RF transceiver assembly40. A transmitting and receiving antenna 50, of standard design, is alsoprovided.

[0036] Referring first to handset 20 and transceiver 40, these are of awell-known design, one such example of which is the MITSUBUSHI Model1500 Cellular Telephone. Handset 20 incorporates a display 22, which ispreferably of a liquid crystal variety, a keypad 24, a speaker orearpiece 26, and a microphone 28. Each of these elements is well-knownand need not be modified for incorporation into the present invention.Handset 20 interfaces with transceiver 40 via a controller 42 and ananalog processor 44. Controller 42 comprises a multi-function CPU whichreceives input from keypad 24 of handset 20 and provides returninformation to display 22. Controller 42 also directly interfaces withanalog processor 44 which is responsible for controlling the flow ofvoice information from microphone 28 through an audio signal path 27(b)on through to transmitter 46 and for controlling the receipt of voiceinformation from receiver 48 through an audio signal path 27(a) onthrough to speaker 26. Because of the nature of the RF system used incurrent cellular telephone design, a single transmission and receptionantenna 50 may be incorporated.

[0037] Completing the cellular data transceiver 10 is modem 30 whichincludes a data terminal equipment (DTE) interface 32, a protocol andcontrol processor 34, a modulation/demodulation signal processor 36, andanalog interface 38. DTE interface 32 provides for the physicalconnection between data equipment external to the cellular datatransceiver and the cellular data transceiver itself. In a preferredembodiment, DTE interface 32 may provide either a serial or parallelinterface and may terminate at the body of the cellular data transceiverwith a standard connector, such as a nine pin or twenty-five pin DBconnector. DTE interface 32 passes data to protocol and controlprocessor 34 which, in the preferred embodiment, is based on amicroprocessor controller such as the Rockwell R65C19 or the Zilog Z80.Protocol and control processor 34 incorporates a complimentary pair ofcontrol lines 33 (a) and 33(b) which are connected in parallel to theinterface between display 22 and controller 42 and keypad 24 andcontroller 42. In particular, control line 33(a) is an output line whichallows the protocol and control processor 34 to emulate keypad 24 asseen by transceiver controller 42. Control line 33(b) is an input lineto protocol and control processor 34 which allows the protocol andcontrol processor to “see” the messages which would otherwise bedisplayed on display 22 by transceiver controller 42. Protocol andcontrol processor 34 is connected through line 35 to analog modulationand demodulation signal processor 36, the latter converting informationto modulated data signals and modulated data to demodulated signals.Communication between processor 36 and transceiver 40 occurs throughinterface 38. Interface 38 includes an output 39(a) which is connectedas an input to analog processor 44 of transceiver 40. This line allowsthe modulation/demodulation signal processor 36 to provide modulatedaudio frequency tones through the interface 38 to analog processor 44 sothat digital data, modulated as tones, may then be transmitted bytransmitter 46 through antenna 50. Interface 38 also has an input line39(b) which is connected as an output from analog processor 44 so thatmodulation/demodulation signal processor 36 may receive analog audioinformation in the form of audio frequency signals received by receiver48 through antenna 50 and provided through the interface 38, and thendemodulate this analog audio information back into a digital datastream.

[0038] By incorporating an architecture as described above, modem 30 isable to transparently interface with transceiver 40 in a manner thatallows modem 30 not only to transmit and receive analog audioinformation via analog processor 44, but also to emulate the functionsof keypad 24 and display 22 in order to permit modem 30 to control theactual operation of transceiver 40 without intervention on the part of auser or operator. This capability of hands-free automatic control iscritical in a data transmission and reception application since, aspreviously discussed, in a cellular radio environment, signal qualitymay vary widely during a signal transmission and reception session. Insuch a case, it may be necessary to start and stop the transmission ofdata on a frequent basis. In addition, data links may need to be brokenand reconnected many times during the transmission of a single file ofdata, and by this invention this may be accomplished without anyintervention on the part of the user or operator. Referring next toFIGS. 2-7, a detailed discussion of each of the controller mechanismsincorporated in the improved apparatus for transmission of data over anRF channel, will be described.

[0039] The flow chart of FIG. 2 illustrates how each call can becommenced only if certain conditions (i.e., the “line conditions”),relating to the transmission channel are met. The signal strengthprocess is preferably performed by the software executed by theprocessor 34 within the cellular data-transceiver 10.

[0040] By way of background, cellular telephone technology offers thecapability of giving a user an indication of the expected lineconditions, or quality of a call, by monitoring the received signalstrength from the local cell site and displaying it. Traditionally,cellular telephone equipment provides an indication of signal strengthby giving the user a visible display of a series of bars on a bar graphto indicate the strength of the signal. From this cell site signalquality determination, the expected quality of the analog channel of atelephone call can be extrapolated before it is placed. See, forexample, pending U.S. patent application Ser. No. 07/720,638, filed Jun.25, 1991, issued as U.S. Pat. No. 5,241,565 on Aug. 31, 1993 andassigned to the present assignee. This signal strength is availableprior to a call because under cellular phone systems standards,activated cellular telephone equipment is always in contact with acellular site even when no calls are in process. As is well known, callsplaced at low signal levels often encounter impairments which causeerrors; and therefore require retransmission, lengthening the overalldata transmission time so as to increase transmission costs. Therefore,by implementing an auto dialing modem in accordance with the presentinvention, the user can preset the minimum signal level at which a callmay be made. When the signal strength goes below the preset level, theplacing of a call is delayed until the signal strength increases. If, onthe other hand, data is already transferred into the modem, it is helduntil the call can be successfully completed. In this manner, only callswith a high probability of data throughput success are placed, thussignificantly reducing service charges to the user.

[0041] Referring to FIGS. 1 and 2, the call attempt procedure beginswith a receive command to dial instruction step 201 as shown in FIG. 2.This command is issued by protocol and control processor 34 throughinterface 38 to cellular data transceiver controller 42 based upondialing instructions preprogrammed, or those received through dataterminal equipment interface 32. After receiving a command to dial, theprocess reviews whether an override command has been issued at step 202.This override command is a mechanism which allows the user to place adata call regardless of the quality of the data link between thecellular unit and the local cell site. This may be necessary during anemergency or some other period of time when it is absolutely crucialthat data be transmitted, regardless of cost. If no override command hasbeen issued at step 202, then received signal strength is read atprocess step 203. As noted, the signal strength is provided bycontroller 42 to display 22 and is provided in parallel by control line33(a) to the protocol and control processor 34. Upon reading the signalstrength, the protocol and control processor 34 compares the signalstrength to a predefined threshold at process control step 204. As notedabove, this predefined signal strength threshold may be predefined bysoftware or may be entered by the user through the keypad 24 or throughthe data terminal equipment interface 32. Should the signal strength bebelow the threshold at process step 204, then the process will return toprocess control step 203. Once the signal strength rises above thepredefined threshold for a sufficient length of time, then the protocoland control processor 34 will begin dialing by issuing commands overcontrol line 39 to the input of controller 42 as noted at the dialprocess step 205. In this way, by using a combination of hardware andsoftware as described above, improved data throughput, and a reductionin operating costs, may be realized by only initiating calls when the RFsignal strength at the cellular telephone unit is above a predefinedsignal strength threshold.

[0042] Complementary to the above noted circumstances, it is often thecase that while conditions may be present which result in signalstrength being strong enough to start a data transfer, variation in thechannel conditions (such as occur while traveling within a large citywith many tall buildings) might result in a received signal not beingstrong enough for a sufficient length of time to effectively transferdata in a reasonable and economical manner.

[0043] Some examples of the above conditions include a marginal. antennaor antenna cable, a weak cellular signal, etc. Under these conditions, amodem could try to transmit data for long periods of time withoutsuccess and thus incur a large cellular service bill. To overcome thisproblem, an automatic disconnect on low signal strength procedure isincorporated into the instant invention and is described in more detailin FIG. 3. In operation, the auto disconnect feature monitors the amountof time that the modem has been off-hook, or on the air, and after apreset time under software control, examines signal strength. If thesignal is of marginal strength, the modem will automatically disconnectand then attempt to retransmit data when the signal strength isrestored, executing the call attempt based on signal strength, describedabove and shown in FIG. 2. If the signal strength is acceptable, themodem will continue trying to send the data for up to a second presettime at which time the modem will automatically disconnect. Since thetwo noted preset timers are under software control, they may bereconfigured to maximize cost savings based upon local cellulartelephone tariffs.

[0044] Referring in detail to FIG. 3, the first step of automaticallydisconnecting on low signal strength is to establish a connection atstep 301. Upon establishing a connection, an automatic disconnect timeris set at step 302. Data is then sent until complete in process step303, or until the automatic disconnect timer runs out. If data iscomplete, then the flow process flows through to a disconnect at 306 andthe data transmission is finished. On the other hand, if data is stillin the process of being sent, after the automatic disconnect timer runsout, then the signal strength is read again at process step 304. If thesignal strength is still above a predetermined threshold, then theautomatic disconnect timer is reset and data is continued to be sentuntil complete or until the automatic disconnect timer times out onceagain. On the other hand, should the signal strength be below apredetermined threshold, then the automatic disconnect will disconnecton low signal strength. This feature is particularly important when auser desires to transmit short data packets which may be reliablytransmitted within the time period established by the auto disconnecttimer. In this way, if a short data packet cannot be reliablytransmitted due to noise, the transmission will be disconnected and theprocess will restart when the signal conditions are sufficient tocomplete the call in a short period of time, thus reducing telephonecost charges. In addition, because the auto disconnect timer and repeattimer may be programmed, various data types and message transmissionsystems may be accommodated by appropriately adjusting timers.

[0045] Referring now to FIG. 4, a further improvement of the instantinvention is disclosed. Under the MNP protocol, modems send and receivedata in packets. When data is flowing, the sending modem may send datafaster than the receiving modem can process it, and thus may haveseveral outstanding packets (that is, data which has been sent but notacknowledged) It is the responsibility of the MNP protocol and itscoordination through the sending and receiving units to manage thereceiving modem's buffer allocation. When applications are run whichinvolve sending only a small amount of data, and when that data will fitinto the receiving modem's buffer, the repeat of all packets proceduredescribed in FIG. 4 will optimize data transmission to ensure receptionand reduce costs. In a noisy cellular transmission environment, therepeat all data packets feature takes advantage of short message sizeand the receiving modem's buffer size and, by assuming that data willnot get through, repeats the transmission of all data until the remotemodem acknowledges receipt or is otherwise disconnected by the autodisconnect feature. This “brute force method” starts at process step 401of FIG. 4, where the sending modem in the cellular unit looks to seewhether any credits under the MNP standard are available. As noted,these credits are closely related to the buffer size available in thereceiving modem. If credits are available, then the protocol checks tosee whether data is available to be sent at process step 404. If data isalso available, then a new packet is started at step 405 and packettransmission may begin. Alternatively, if credits are not available, theprocess will move to the repeat all packets stage of step 402 todetermine whether all packets are currently being repeated. If allpackets are currently being repeated, then the process will travelthrough the no branch of the decision tree and will continue repeatingall packets. On the other hand, if all packets are not currently beingrepeated, then the yes flag will be set and a repeat all packets creditcheck will be performed by process step 403. If no credit is available,then the process will flow through to the output. On the other hand, ifa repeat all packets credit is available, then the process will fallthrough to the data availability test at step 404 and continue as usual.By following this procedure, the MNP protocol is modified so that shouldcredits be available, data will be transmitted as normal. On the otherhand, should credits not be available, then the modem will continue torepeat all packets until acknowledgement thereby increasing thelikelihood of successful data transmission while decreasing the amountof time needed to transmit all data.

[0046] Yet another improvement incorporated into the instant inventionis an automatic dial connection restoration process. When using modemsto transfer files over noisy or poor quality dial communicationschannels or links, it is often the case that the link may be droppedduring transmission requiring retransmission of the entire file. Asnoted above, while transmitting a short file it may be desirable to dropthe link and retransmit the entire file in order to save costs. However,when transmitting a lengthy file, and especially if the firs t filetransmission is already almost finished, such retransmission of thecomplete file may actually increase the total transmission costs.Therefore, it is desirable to provide a mechanism by which a droppeddata link may be transparently re-established and data transmissioncontinued from the point where the disconnect occurred. Referring toFIGS. 5 & 6, the call back state machine for the dialing modem and thecall back state machine for the answering modem are shown. In operation,a link (for example using the MNP error correction protocol) isinitially established between a pair of modems which are configured forautomatic dial connection restoration. When the transmitting modemdetects a carrier loss and the remote modem has not signaled a linkdisconnection, the following sequence of events will occur:

[0047] 1. Both modems will disconnect but retain the state of the errorcorrecting protocol as well as the state of the data compression tablesif data compression is in use.

[0048] 2. Both modems will prevent the flow of data to and from theirrespective data terminal equipment units.

[0049] 3. The originating modem will dial the last number dialed and theanswering modem will answer in response to that incoming ring signal anda physical connection will be re-established.

[0050] 4. The modems will resynchronize their MNP protocol.

[0051] 5. Both modems will allow the flow of data to and from theirrespective data terminal equipment elements and file transfer willcontinue.

[0052] As defined, the invention allows for repeating this process ifstep 3 above fails. A user selectable timer will determine the maximumtime the modem will retry to reconnect. If the modems fail tore-establish the connection, then the modems will signal their dataterminal equipment that the modem has permanently disconnected and anyretransmission from that point on must again start from the beginning.

[0053] Referring now to FIG. 5, the call back state diagram for thedialing modem will be described in detail. Starting with idle state 500,the dialer will wait for the issuance of a dial command. This willadvance the state machine to initial dial state 510, where the actualdialing will occur. If the dialing sequence fails, then the statemachine will return from initial dial 510 to idle state 500. However, ifthe initial dial is successful, then a physical connection will beestablished and the initial negotiation state will be entered. Onceagain, if the initial negotiation 520 is a failure, then the state willreturn to the idle state 500. However, if the initial negotiation issuccessful, then the data state 530 will be entered. This is the normalstate where data will be transferred between the dialer and theanswerer. In data state 530, if a carrier detect loss or link failureshould occur, the state of the machine will move to an on hook condition540. Assuming that the automatic dial connection restoration timer(ADCR) has still not timed out, the state machine will move to state550, delay to redial. The delay to redial state will then establishwhether or not a predefined number of redial attempts have already beenexceeded. If the retry count is equal to zero, then the state machinewill move to state 590 signal disconnect and the DTE will be informed ofthe disconnect. However, if the counter has not yet been reduced tozero, the state machine will move to dialing state 560. If a dialingfailure should be encountered, the state machine will move back to theon-hook state 540 and the retry counter will be decreased by one. On theother hand, if dialing should be successful and a physical connectionestablished, then the state machine will move to synchronous detectionstate 570. It is at this point that the modem which has been in anasynchronous mode, switches into a synchronous mode and looks for asynchronous detection signal from the answering modem. If a synchronousflag is detected, then the state machine will move onto state 580, waitfor a “link acknowledgement-protocol data unit” in accordance with theMNP protocol. This state means that a physical link has been detectedand both modems will synchronize with each other to make sure that thecall which is going to be continued is the same call which waspreviously interrupted. This is necessary since it is possible, althoughnot likely, that an intervening call may arrive at either modem andthereby receive data which was not directed to it. If the linkacknowledgement protocol data unit signal is received at state 580, thenthe state machine moves onto data state 530. If, on the other hand, noacknowledgement is received or an incorrect acknowledgement is received,a timeout signal is generated and the signal disconnect state isreached.

[0054] Once in the data state, the state machine will remain in the datastate until a link disconnect from the protocol data unit is receivedindicating that an end of transmission, or an additional carrier detectloss or link failure has occurred.

[0055] Reviewing FIG. 6, the state machine for call back for theanswerer is illustrated. The state machine is a substantial mirror imageof the state machine of FIG. 5. The answering device starts in an idlestate 600. Upon receiving an incoming ringing signal, the state machinemoves to an initial answering state 610. If the answer is unsuccessful,then the system returns to its idle state 600. However, if the answer issuccessful, then a physical connection is established and the initialnegotiation state 620 is entered. During the initial negotiation, if thenegotiation fails, then the answerer returns to idle state 600. On theother hand, if the initial negotiation is successful, then data state630 is entered. This is the normal operating state where data istransferred. At data state 630, should a carrier detect loss or linkfailure occur, the receiving modem will go on-hook at state 640. Onceagain, the automatic dial connection restoration timer will be checkedto see whether the timer has timed out. If the timer has timed out, thena signal disconnect and idle 690 state will be entered. If the timer hasnot timed out or the retry count is greater than zero, then a wait forring state will be entered 650. In this state of FIG. 5, and differentfrom the dialing machine state, the answering (or dialed) unit will waitfor a ring signal for only a predetermined period of time. If the returncall has not yet arrived before the timer has expired, then a signaldisconnect will be issued to the DTE. Should a call arrive and ringingbe detected, the state machine will go into the answering state 660.This state will attempt to make a successful answer. If the answer failsthen the system will go back on-hook at state 640. On the other hand, ifthe answer is successful, the answering unit will establish a physicalconnection and will move to state 680 link acknowledgement protocol dataunit exchange. As in the dialer state diagram, if no PDU is acknowledgedbefore timeout, a signal disconnect state will be reached. On the otherhand, if the link is acknowledged and the expected PDU is received, thendata state 630 will be entered. Data state 630 will be the active stateuntil the link is disconnected in which case the signal disconnect state690 will be entered. However, if a carrier detect loss or link failureis detected, then the system will go on-hook at 640 and continue thestate operation.

[0056] By using such a system, a data link may be established and thenreliably re-established when dropped without the need to retransmit allof the information from the beginning. This is advantageous in that itcuts down transmission time and, thereby, cuts down the costs associatedwith cellular data transmission.

[0057] Finally, in an effort to control costs and track cellular datacalls more closely, the invention incorporates cellular billing timers.In the normal public switched telephone network, the user or dialingparty is only charged for the duration of the connection to the dialedparty. This, however, is not true of cellular service. In cellularservice, the dialing party is charged from the moment that the mobiletelephone switching office seizes a land trunk to place the call. Thistime can add many seconds to a customer's bill. In addition, since nosingle cellular carrier can provide country-wide service or produce asingle bill for such service, a customer must deal with separate phonebills when using multiple service providers. In order for the user tocalculate his/her/its own billing, the device of the instant inventionattaches a timer to the MNP protocol transmission which captures theduration of the off hook billing time on a per call basis. This smalldata packet of additional timer data may then be stripped from theprotocol at the receiving end and used to log the duration of the call.This data may also be used to form the basis of an estimated billingsystem. In a multi-caller system, calls may be identified by attachingthe electronic serial number of the cellular phone which made the call,and which is unique to the number of the protocol frame that containsthe timer. This is done automatically by the software.

[0058] Referring to FIG. 7, a chart showing a sample data generatedcellular call analysis is provided. The call analysis may contain anumber of fields including:

[0059] 1. PRT—the communications port on the PC which collected theincoming data.

[0060] 2. CHK—checking information as to whether or not a receivedrecord was completed or incomplete.

[0061] 3. Date and time of the call received.

[0062] 4. Unit ID—the electronic serial number of the calling cellulartelephone.

[0063] 5. SID—this is the received signal strength which may bedigitized and transmitted.

[0064] 6. UNSCCA—this is the count of unsuccessful call attempts sincethe last successful call.

[0065] 7. Byte Count—this is the number of bytes of data sent in thisparticular call including messages and data.

[0066] 8. Send CD Time—this is the time between the electronicequivalent of pressing the send button on a cellular phone and getting acarrier detect. This is, in affect, the billable cellular call set uptime and is displayed in seconds.

[0067] 9. CONN Time—this is the time during which data is transmitted.

[0068] 10. EST Bill Time—this is the estimated billable time provided inseconds.

[0069] By providing the above-noted billing information, charges forcellular phone calls may be tracked more closely and thus costcontrolled by the adjustment of call duration timers within the softwareand state machines as appropriate.

[0070] It should be appreciated that all of the procedures described inconnection with FIGS. 2-6 can be performed by software provided in theprotocol and control processor 34. The preferred software is shown inAppendix A, attached to and made a part of this specification.

[0071] The flow charts illustrated in FIGS. 8A and 8B are executed bythe modem protocol and control processor 34 of FIG. 1 to determine anddeliver the “send CD time” and “CONN time,” shown listed in FIG. 7. Theestimated billing time is the sum of the “send CD time” and the “CONNtime”.

[0072] Referring to FIG. 8A, when the protocol and control processor 34receives a command to dial a number through the DTE interface 32, theprocessor 34 starts the dial sequence for dialing the number at step800. In step 801, the control processor 34 loads the phone number intothe transceiver controller 42 by sending a keyboard command viainterface 33 b. Once the phone number has been loaded, the modemprocessor 34 issues a “send key” command to the transceiver controller42 in step 802, and starts the “send CD timer”, i.e., the billablecellular call set-up time, as hereinbefore explained.

[0073] In step 803, the processor 34 waits for a time (e.g., sixseconds) sufficient to let the analog processor 44 deliver the phonenumber and then, in step 804, sets the modem to the “off hook” state,wherein the modem is ready to start the modulation handshake.

[0074] The modem processor 34 waits for completion of the modulationhandshake in the loop at step 805 wherein it is decided whether carrierdetect (CD) has occurred. When the modulation handshake is completed,the signal processor 36 informs the modem processor 34 via the line 35that carrier detect (CD) has occurred. The modem processor 34 thenadvances processing to step 806, thereby stopping the send CD timer andstarting the CONN timer. In step 807, the modem processor 34 typicallynegotiates the error correction protocol with the remote modem withwhich it is attempting to communicate. An error correction protocolnegotiation as in step 807 is preferred, but not necessary, providedthere is a mutually supported protocol for the modem processor 34 totransmit the timer information, as performed in step 809, to the remotemodem where it can be subsequently routed to a billing estimatingsystem. After step 809, the modem 30 enters data state 810 and canthereby begin data transmission. The modem remains in the data stateuntil the modem processor 34 receives a command to disconnect via theDTE port 32, or until the modem processor 34 detects a connectionfailure.

[0075] With reference to FIG. 8B, when the modem processor 34 detectseither of these events, the processor 34 leaves the data state, asrepresented by step 820, to initiate a connection termination sequence.The connection timer, started in step 806, is stopped in step 821.

[0076] In step 822, the reason for leaving the data state isascertained. If the data state is departed due to a connection failure,then processing continues at step 826. If, alternatively, the connectionhas not failed, then the modem processor 34 sends the connection andtimer information at step 823, and then sends a link disconnect packet(LD) at step 824 to notify the remote modem that the connection is beingterminated.

[0077] The connection is then terminated in step 826 by placing themodem 30 in the “onhook” state, and issuing an “end key” command to thetransceiver controller 42. The cellular data transceiver 40 then entersthe “idle state” at step 827.

[0078] Thus, as can be seen above, by incorporating the improvements ofthe present invention, lower costs and more efficient data transmissionmay be made over a cellular network. It is understood that while theabove description is directed to a cellular network, the invention isnot limited to a cellular system, but may be used for any RF, wired orany other type of data transmission system. It is also understood thatwhile the current system is designed for use with a cellular phonesystem which transmit analog information, the present invention may beeasily modified to be used with a digital cellular telephone network orother digital communications network by modifying themodulation/demodulation signal processor 36 of modem 30 to createpackets of information in a digital format that are modulated in theappropriate format. Finally, while the preferred embodiment has beendescribed in connection with the MNP protocol the principles of thepresent invention can be used with other protocols, such as HDLC basedLAPM (Link Access Procedures for Modems).

[0079] Since certain changes may be made in the above apparatus, withoutdeparting from the scope of the invention herein involved, it isintended that all matter contained in the above description or shown inthe accompanying drawing shall be interpreted in an illustrative and notin a limiting sense.

What is claimed is:
 1. An apparatus for selectively transmitting andreceiving data over a communications channel to and from a remote site,the communications channel having a determinable level of transmissionquality, said apparatus comprising: data interface means fortransferring data to and receiving data from a data source, modulationmeans for modulating said data received from said data source inaccordance with a transmission format so as to produce outgoingmodulated data to be transmitted to said remote site, and fordemodulating incoming modulated data received from said remote site;transceiver means for transmitting said outgoing modulated data oversaid communications channel and for receiving said incoming modulateddata from said communications channel; measuring means for measuring thelevel of transmission quality of the communications channel irrespectiveof whether a connection has been established with the remote site;connecting means for establishing a connection across said communicationchannel with said remote site if said level of transmission quality ofthe communications channel is above a predefined threshold; and meansfor periodically activating said measuring means to measuring the levelof transmission quality of the communications channel after a connectionhas been established with the remote site; and means for immediatelyterminating said connection with said remote site if the level oftransmission quality of the communication channel at predefined periodsafter the connection is established is below the predefined thresholdlevel.
 2. The apparatus, as claimed in claim 1, wherein: said connectingmeans includes means for establishing a connection with said remote siteif the level of transmission quality of the communication channel risesabove the predefined threshold level for a predefined period of time. 3.The apparatus, as claimed in claim 1, wherein said communicationschannel is at least partially defined by a cellular communicationsnetwork having at least one cell site for transmitting signals to andreceiving signals from said apparatus and said measuring means measurethe level of transmission quality of said signal transmitted from saidcell site as a function of the signal strength of said transmittedsignal.
 4. The apparatus, as claimed in claim 1, further comprising:means for forcing said connecting means to establish a connection withsaid remote site even if said level of transmission quality of thecommunications channel is below said predefined threshold.
 5. Theapparatus, as claimed in claim 1, further comprising: means fortransmitting modulated data in a plurality of data packets and forrepeating the transmission of any one of said data packets until eitherone of the following two events occurs: (1) an acknowledgement ofreception of said data packet is received by said apparatus, or (2) theconnection with said remote site is terminated.
 6. The apparatus, asclaimed in claim 1, further comprising: handset means including a manualcontrol for controlling said transceiver means independently of saidconnecting means.
 7. The apparatus, as claimed in claim 6, wherein saidhandset means further comprises: display means for displaying anindication of information received from said connecting means, keypadmeans for entering information into said apparatus, speaker means forreproducing audio information received from said transceiver means, andmicrophone means for modulating audio information into a format topermit said audio information to be transmitted by said transceivermeans.
 8. The apparatus, as claimed in claim 7, wherein said modulationmeans is connected to said transceiver means to permit said modulationmeans to provide said outgoing modulated data to said transceiver meanswithout passing said outgoing modulated data through said microphonemeans or said speaker means; and wherein said microphone means isconnected to said transceiver means to permit said microphone means toprovide voice information to said transceiver means without passing saidvoice information through said modulation means.
 9. The apparatus, asclaimed in claim 6, further comprising call costing means for recordingcall costing information about each transmission session, and forpermitting said call costing information to be transmitted by saidtransceiver means to said remote site, said information including atleast one of transmission time, transmission date, communicationschannel quality, a transmitter identification number and the size of thedata transmitted, said call costing means including means for receivingincoming call costing information over said communications channel. 10.A method for selectively transmitting and receiving data over acommunications channel to and from a remote site, wherein thecommunications channel having a determinable level of transmissionquality, the method including the steps of: measuring the level oftransmission quality of the communications channel irrespective ofwhether a connection has been established with the remote site;establishing a connection across said communication channel with saidremote site if said level of transmission quality of the communicationschannel is above a predefined threshold; and periodically activatingsaid measuring means to measuring the level of transmission quality ofthe communications channel after a connection has been established withthe remote site; and immediately terminating said connection with saidremote site if the level of transmission quality of the communicationchannel at predefined periods after the connection is established isbelow the predefined threshold level.
 11. The apparatus, as claimed inclaim 10, wherein said step of establishing a connection across thecommunication channel establishes a connection with said remote siteonly if the level of transmission quality of the communication channelrises above the predefined threshold level for a predefined period oftime.
 12. The method, as claimed in claim 10, wherein saidcommunications channel is at least partially defined by a cellularcommunications network having at least one cell site for transmittingsignals to and receiving signals; and said step of measuring the levelof transmission quality of the communications channel includes measuringthe signal strength of said transmitted signal.
 13. The method, asclaimed in claim 10, further including the step of: forcing saidconnecting means to establish a connection with said remote site even ifsaid level of transmission quality of the communications channel isbelow said predefined threshold.
 14. The method, as claimed in claim 10,further comprising the step of: transmitting modulated data in aplurality of data packets and repeating the transmission of any one ofsaid data packets until either one of the following two events occurs:(1) an acknowledgement of reception of said data packet is received bysaid apparatus, or (2) the connection with said remote site isterminated.
 15. The method, as claimed in claim 10, further comprisingthe step of: recording call costing information about each transmissionsession, and transmitting said call costing information to said remotesite, said call costing information including at least one oftransmission time, transmission date, communications channel quality, atransmitter identification number and the size of the data transmitted.16. The method, as claimed in claim 15, further comprising the step of:receiving incoming call costing information over said communicationschannel.
 17. An apparatus for selectively transmitting and receivingdata over a communications channel to and from a remote site, thecommunications channel having a determinable level of transmissionquality, said apparatus comprising: data interface means for receivingdata from and transferring data to a unit of data terminal equipment,measuring means for measuring the level of transmission quality of thecommunications channel irrespective of whether a connection has beenestablished with the remote site; connecting means for establishing aconnection across said communication channel with said remote site ifsaid level of transmission quality of the communications channel isabove a predefined threshold; means activating said measuring means tomeasuring the level of transmission quality of the communicationschannel at predefined time periods after a connection has beenestablished with the remote site; and means for immediately terminatingsaid connection with said remote site if the level of transmissionquality of the communication channel measured at any of said predefinedperiods after the connection is established is below the predefinedthreshold level.
 18. A data communication system for transferring dataover a communications channel between a local system and a remotesystem, said data communications system comprising: a DTE interfaceconnecting said data communications system to said local system so as topermit data to be transferred between said data communication system andsaid local system; an analog interface connecting said datacommunications system to said communications channel; a protocol andcontrol processor connected so as to transfer data between said analoginterface and said DTE interface, and transmit and receive data oversaid communications channel according to a predefined data communicationprotocol, whereby data is transferred in packets and the transmission ofeach of said packets is continuously repeated until an acknowledgment isreceived by said data communication system that said packet has beenreceived at said remote site.
 19. A data communication system accordingto claim 18, wherein said remote system includes a receive buffercomprising a limited size buffer memory and said protocol and controlprocessor is connected so as to transmit and receive data over saidcommunications channel according to a predefined data communicationprotocol, whereby said protocol and control processor transmits apredetermined quantity of packets prior to repeating the transmission ofsaid packets and said predetermined quantity is determined as a functionof the size of the receive buffer of said remote system.
 20. A datacommunication system according to claim 19, wherein said protocol andcontrol processor determines a maximum number of packets that saidremote system can receive into said buffer memory and maintains acounter of packets transmitted to said remote system, whereby saidcounter is decreased for each packet transmitted to said remote systemand said counter is increased for each packet that is acknowledged asreceived and said protocol and control processor is adapted to repeatthe transmission of all packets which have not been acknowledged if saidcounter is decreased below a predefined quantity limit.
 21. A datacommunication system according to claim 20, wherein said predefinedquantity limit is determined as a function of the maximum number ofpackets that said remote system can receive into said buffer memory. 22.A data communication system according to claim 18 wherein said datacommunication protocol is an error correcting protocol.
 23. A datacommunication system according to claim 18 wherein said datacommunication protocol is a protocol for the transmission of data over atelephone network and said communications channel includes a telephonenetwork.
 24. A data communications apparatus adapted for transferringdata over a communication channel between a local system and a remotesystem, said data communications apparatus comprising: a DTE interfaceadapted for connecting said data communications apparatus to said localsystem so as to permit data to be transmitted to and received from saidlocal system; an analog interface adapted for connecting said datacommunications apparatus to said communication channel; a protocol andcontrol processor adapted for transferring data between said analoginterface and said DTE interface, and for transmitting and receivingdata over said communications channel according to a predefined datacommunication protocol, whereby data is transferred in packets and thetransmission of each of said packets is continuously repeated until anacknowledgment is received by said data communication apparatus thatsaid packet has been received by said remote system.
 25. A datacommunication apparatus according to claim 24, wherein said remotesystem includes a receive buffer comprising a limited size buffer memoryadapted for storing data, and said protocol and control processor isadapted for transmitting and receiving data over said communicationschannel according to a predefined data communication protocol wherebysaid protocol and control processor transmits a predetermined quantityof packets prior to repeating the transmission of said packets and saidpredetermined quantity is determined as a function of the size of thebuffer memory.
 26. A data communication apparatus according to claim 25,wherein said protocol and control processor is adapted for determining amaximum number of packets that said remote system can receive into saidbuffer memory and a counter for maintaining a count of the number ofpackets transmitted to said remote system, whereby said counter isdecreased for each packet transmitted to said remote system and saidcounter is increased for each packet that is acknowledged as receivedand said protocol and control processor is adapted for repeating thetransmission of all packets which have not been acknowledged if saidcounter is decreased below a predefined quantity limit.
 27. A datacommunication apparatus according to claim 26, wherein said predefinedquantity limit is determined as a function of the maximum number ofpackets that said remote system can receive into said buffer memory. 28.A data communication system according to claim 24 wherein said datacommunication protocol is an error correcting protocol.
 29. A datacommunication system according to claim 24 wherein said datacommunication protocol is a protocol for the transmission of data over atelephone network and said communications channel includes a telephonenetwork.
 30. A method of transmitting data over a data communicationschannel from a local system to a remote system, comprising the steps of:transmitting at least one data packet over said communications channelto said remote system; repeatedly transmitting said at least one datapacket over said communications channel to said remote system until anacknowledgment for said data packet is received from said remote systemor said communications channel becomes disconnected.
 31. A method oftransmitting data over a data communications channel from a local systemto a remote system whereby said remote system includes a receive buffermemory having a predetermined size, said method further comprising thesteps of: determining a quantity of data packets that can be transmittedto said remote system as a function of the size of said receive buffermemory; transmitting said quantity of data packets to said remotesystem; and repeatedly transmitting all of said data packets until an(a) acknowledgment from said remote system that said data packets havebeen received or (b) said communications channel becomes disconnected.32. A local data communication system for transferring data over acommunications channel between a local system and a remote datacommunication system connected to a remote system, said local datacommunications system comprising: a DTE interface adapted to connectsaid local data communications system to said local system so as topermit data to be transferred between said data communication system andsaid local system; a channel interface adapted to connect said localdata communications system to said communications channel; a protocoland control processor adapted to transfer data between said channelinterface and said DTE interface and adapted to transmit and receivedata over said communications channel according to a predefined datacommunication protocol having a plurality of states, said protocol andcontrol processor being constructed so as to: (a) establish a connectionwith said remote data communication system and initiating thetransmission of data over said communications channel; (b) detect a lossof said connection; (c) upon detection of a loss of said connection,enter a disconnect state whereby the transfer of data to and from saidlocal system is prevented and the state of said data communicationprotocol is preserved; (d) attempt to re-establish a connection withsaid remote data communications system and if said connection isre-established: (i) synchronize the state of said data communicationprotocol with the remote data communication system; and (ii) continuethe transmission of said data over said communications channel.
 33. Adata communication system according to claim 32, wherein said datacommunication protocol includes an error correction protocol and saidprotocol and control processor, upon entering said disconnect state, isadapted to preserve the state of said error correction protocol.
 34. Adata communication system according to claim 32, wherein said datacommunication protocol includes a data compression protocol and saidprotocol and control processor, upon entering said disconnect state, isadapted to preserve the state of said data compression protocol.
 35. Adata communication system according to claim 32, wherein said protocoland control processor further includes a timer and said protocol andcontrol processor is adapted to start said timer when said protocol andcontrol processor attempts to re-establish said connection and forterminating said attempt to re-establish said connection if saidconnection cannot be re-established before the expiration of said timerand for notifying said local system that said connection has beenterminated.
 36. A local data communications apparatus for transferringdata over a communication channel between a local system and a remotedata communications apparatus connected to a remote system, said localdata communications apparatus comprising: a DTE interface adapted forconnecting said local data communications apparatus to said local systemso as to permit data to be transmitted to and received from said localsystem; a channel interface adapted for connecting said local datacommunications apparatus to said communication channel; a protocol andcontrol processor adapted for transferring data between said channelinterface and said DTE interface and for transmitting and receiving dataover said communications channel according to a predefined datacommunication protocol having a plurality of states, said protocol andcontrol processor being adapted for: (a) establishing a connection withsaid remote data communication system and initiating the transmission ofdata over said communications channel; (b) detecting a loss of saidconnection; (c) entering a disconnect state upon detection of a loss ofsaid connection, whereby the transfer of data to and from said localsystem is prevented and the state of said data communication protocol ispreserved; (d) attempting to re-establish a connection with said remotedata communications system and if said connection is re-established: (i)synchronizing the state of said data communication protocol with theremote data communication system; and (ii) continuing the transmissionof said data over said communications channel.
 37. A data communicationapparatus according to claim 36, wherein said data communicationprotocol includes an error correction protocol and said protocol andcontrol processor is adapted for preserving the state of said errorcorrection protocol upon entering said disconnect state.
 38. A datacommunication apparatus according to claim 36, wherein said datacommunication protocol includes a data compression protocol and saidprotocol and control processor is adapted for preserving the state ofsaid data compression protocol upon entering said disconnect state. 39.A data communication system according to claim 36 wherein said protocoland control processor further includes a timer and said protocol andcontrol processor is adapted for (a) starting said timer when saidprotocol and control processor attempts to re-establish said connection,and (b) terminating said attempt to re-establish said connection if saidconnection cannot be re-established before the expiration of said timerand for notifying said local system that said connection has beenterminated.
 40. A method of transmitting data over a data communicationschannel from a local communications unit connected to a local system toa remote communications unit connected to a remote system, said methodcomprising the steps of: attempting to transmit at least one data unitover said communications channel from said local system to said remotesystem according to a data communication protocol having a plurality ofstates; detecting a loss of connection in said data communicationschannel and entering a disconnect state whereby the flow of data betweensaid local communications unit and said local system, and between saidremote communications unit and said remote system is prevented and thestates of said data communication protocol in said local communicationsunit and said remote communications unit are preserved; attempting tore-establish a connection over said data communications channel and ifsaid connection is established; synchronizing the states of datacommunication protocol of said local communication unit and said remotecommunication unit; and continuing the transmission of said data oversaid data communications channel.
 41. A method of transmitting dataaccording to claim 40, wherein said data communication protocol includesan error correction protocol and said step of entering the disconnectstate includes preserving the state of said error correction protocol.42. A method of transmitting data according to claim 40, wherein saiddata communication protocol includes a data compression protocol andsaid step of entering said disconnect state includes preserving thestate of said data compression protocol.
 43. A method of transmittingdata according to claim 40, wherein said step of attempting tore-establish said connection further includes the step of setting andstarting a timer whereby if said connection cannot be re-establishedbefore the expiration of said timer: said local communications unitterminates any attempt to re-establish the connection and notifies saidlocal system that said connection is lost and said remote communicationsunit terminates any attempt to re-establish the connection and notifiessaid remote system that said connection is lost.
 44. A datacommunication system adapted for transferring data over a communicationschannel between a local system and a remote data communication systemconnected to a remote system, said data communications systemcomprising: a DTE interface constructed to connect said datacommunications system to said local system so as to permit data to betransferred between said data communication system and said localsystem; a channel interface adapted to connect said data communicationssystem to said communications channel; a protocol and control processoradapted to transfer data between said channel interface and said DTEinterface, and to transmit and receive data over said communicationschannel according to a predefined data communication protocol having aplurality of states, said protocol and control processor being adaptedto measure a call setup time representative of an amount of time used tosetup a physical connection with said remote data communication systemand for transmitting said call setup time to said remote datacommunication system.
 45. A data communication system according to claim44, wherein said protocol and control processor is adapted to measure aconnection time representative of an amount of time that said physicalconnection is maintained and to transmit said connection time to saidremote data communication system.
 46. A data communication systemaccording to claim 44, wherein said protocol and control processor isadapted to transmit call costing information including at least one ofsession date, communications channel quality, and a transmitteridentification number, to said remote data communication system.
 47. Adata communication system according to claim 44, wherein said protocoland control processor is adapted to transmit call costing informationincluding at least one of session date, communications channel quality,call setup time, connection time, total time, data transmission count,unsuccessful call attempts and a transmitter identification number,whereby said total time is determined as a function of said call setuptime and said connection time.
 48. A local data communications apparatusfor transferring data over a communication channel between a localsystem and a remote data communications apparatus connected to a remotesystem, said local data communications apparatus comprising: a DTEinterface adapted for connecting said data communications apparatus tosaid local system so as to permit data to be transmitted to and receivedfrom said local system; a channel interface adapted for connecting saiddata communications apparatus to said communication channel; a protocoland control processor adapted for transferring data between said channelinterface and said DTE interface and for transmitting and receiving dataover said communications channel according to a predefined datacommunication protocol having a plurality of states, said protocol andcontrol processor being adapted for measuring a call setup timerepresentative of an amount of time used to setup a physical connectionwith said remote data communication system and for transmitting saidcall setup time to said remote data communication system.
 49. A datacommunication apparatus according to claim 48, wherein said protocol andcontrol processor is adapted for measuring a connection timerepresentative of an amount of time that said physical connection ismaintained and for transmitting said connection time to said remote datacommunication system.
 50. A data communication apparatus according toclaim 48, wherein said protocol and control processor is adapted fortransmitting call costing information including at least one oftransmission date, communications channel quality, and a transmitteridentification number, to said remote data communication system.
 51. Adata communication apparatus to claim 50 wherein said protocol andcontrol processor is adapted for transmitting call costing informationincluding at least one of session date, communications channel quality,call setup time, connection time, total time, data transmission count,unsuccessful call attempts and a transmitter identification number,whereby said total time is determined as a function of said call setuptime and said connection time.